/*
 * interaction_4HSiC.h
 *
 *  Created on: 2011-11-9
 *      Author: nzhao
 */

#ifndef INTERACTION_4HSIC_H_
#define INTERACTION_4HSIC_H_

#include "share/Usrdef.h"
#include "share/parameters.h"
#include "share/diagnosis.h"
#include "share/MR_DATA.h"

#include "share/gsl_app.h"
#include "share/MatAlgebra.h"

#include "special/import_data.h"
#include "special/material_4HSiC.h"

struct sINT_TENSOR1
{
	double xx;	double yy;	double zz;
	double xy;	double yz;	double zx;
	double yx;	double zy;	double xz;
};


extern double 	NZEEMAN;				/**< unit: k rad / sec*/
extern double	* HF_TENSOR;

extern double 	EIGEN_VALUES[3];

void	calc_Interactions();

void	CentralEigen(double theta, double phi);

sINT_TENSOR1	calc_dipole_int(int i, int j);

void	calc_hf_1(int i, double * hf);
void	calc_hf_2(int i, double * hf);

void	calc_hf_tensor(int i);
void	calc_mediated_int(int i, int j, int state, double * interaction);


#endif /* INTERACTION_4HSIC_H_ */
